/**
 * 微信组件
 */
import hdAjax from './hdAjax'
import wx from 'weixin-js-sdk'
import API from '@/common/apiurl'
let option = {
  url: '',
  signature: ''
}
function wxInit(callback) {
  // 获取当前路径
  let thisurl = window.location.href
  console.log('==============JSON.stringify(option)======================');
  console.log(option);
  console.log('==============JSON.stringify(option)======================');
  // 如果当前页面 url 相等,并且有签名,认为已经签名成功,则无需再次签名
  if (option.url === thisurl && option.signature) {
    wx.ready(() => {
      callback(wx)
    })
  } else {
    hdAjax({
      url: API.wx.init,
      data: {
        signurl: thisurl
      },
      success: (resultData) => {
        if (resultData.status === 1) {
          // 存储一次 url
          option.url = thisurl
          // 存储一次签名
          option.signature = resultData.result.signature
          wx.config({
            debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
            appId: resultData.result.appId, // 必填，公众号的唯一标识
            timestamp: resultData.result.timestamp, // 必填，生成签名的时间戳
            nonceStr: resultData.result.nonceStr, // 必填，生成签名的随机串
            signature: resultData.result.signature, // 必填，签名，见附录1
            jsApiList: ['getLocalImgData', 'downloadImage', 'chooseWXPay', 'chooseImage', 'onMenuShareAppMessage', 'onMenuShareTimeline', 'uploadImage', 'previewImage', 'getLocation', 'openLocation']
          })
          wx.ready(() => {
            callback(wx)
          })
        }
      },
      fail: (resErr) => {
        this.dialog.toast({mes: resErr.errmsg})
      }
    })
  }
}
let HDWX = () => {
  return {
    // 微信初始化,用于调用微信其他接口
    wxInit: (callback) => {
      wxInit(callback)
    },
    // 同时注册分享朋友圈,分享朋友
    wxShare (option) {
      wxInit(() => {
        wx.onMenuShareAppMessage(option) // 微信分享朋友
        wx.onMenuShareTimeline(option) // 微信分享朋友圈
      })
    }
  }
}
export default HDWX
